package com.ruoyi.web.controller.shop.service;

import com.ruoyi.common.entity.VO.CouponSearchVO;
import com.ruoyi.common.entity.VO.CouponVO;
import com.ruoyi.common.entity.VO.member.MemberCouponVO;
import com.ruoyi.common.entity.VO.member.MemberGetCouponVO;

import java.util.List;

public interface IBackShopCouponService {

    List<CouponVO> searchList(CouponSearchVO couponSearchVO);

    List<MemberCouponVO> searchMemberList(CouponSearchVO couponSearchVO);

    CouponVO getInfoById(Long couponId);

    /**
     * 校验优惠券标题是否唯一
     *
     * @param couponVO 优惠券信息
     * @return 结果
     */
    String checkCouponTitleUnique(CouponVO couponVO);

    /**
     * 新增优惠券
     *
     * @param couponVO 优惠券信息
     * @return 结果
     */
    int insertCoupon(CouponVO couponVO);

    /**
     * 修改优惠券
     *
     * @param couponVO 优惠券信息
     * @return 结果
     */
    int updateCoupon(CouponVO couponVO);

    /**
     * 删除优惠券
     *
     * @param shopId 店铺ID
     * @param id 优惠券ID
     * @return 结果
     */
    int deleteCouponById(Long shopId,Long id);

    /**
     * 批量赠送优惠券给多个会员
     *
     * @param memberGetCouponVO
     */
    void sendToMember(MemberGetCouponVO memberGetCouponVO);

}
